package com.nkzy.domain.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor


//同意返回结果类型类：类中有属性，方法 类手字母大写
public class Result {

//面向对象编程：封装 继承 多态

    //三个属性：状态码，提示信息，数据 都是用private表示对属性的私有化 封装
//    java数据类型：int  Integer  String  boolean  char  float  double  long  short  byte  boolean

    private Integer code;//失败状态码 也可引用int Integer
    private String msg;//提示信息
    private Object data;//数据
//    为什么要引用类型
//    节省空间
//    java 数据类型：
//    基本数据类型（简单数据类型） int long  float  double  boolean  char short  byte
//    引用数据类型（复杂数据类型） String  数组  集合  对象 枚举   类
//    引用类型数据，一般都提供了一些方法，便于我们进行操作
//    //基本数据类型：int  boolean  char  float  double  long  short  byte//    //包装类型：Integer  Boolean  Character  Float  Double  Long  Short  Byte

//    构造方法作用：初始化对象 创建对象
    //构造方法：无参构造方法，全参构造方法 默认有参构造方法（方法重载）。无参构造方法
//    方法重载：同一个类中，方法名相同，参数个数类型不同，返回值不同
    //类中方法：构造方法，getter方法，setter方法，自定义方法，私有的属性外界不能访问
    //构造方法：空参构造方法，全参
    //类是抽象的，是对现实世界的抽象，比如用户，订单，商品，地址，购物车，购物车项，订单项，订单项详情，订单项详情
    // ：不能创建对象，不能实例化，不能继承，不能实现接口
    //用类创建的对象，成为对象对象是具体的
//   在定义类的属性时，尽量避使用引用数据类型，提供了很多方法，后续操作时可以直接使用
//为了后续操作方便了，在类中可以编写几个静态的方法，方便使用 static静态
    //静态方法：类名.方法名() 不需要创建对象
    //这个成功的方法一般用于保存，修改 ，删除
public  static Result success(){
        return new Result(200,"操作成功",null);
    }
    //静态方法：返回成功，并携带数据，用于查询
    public  static Result success(Object data){
        return new Result(200,"操作成功",data);
    }
    //静态方法：返回失败，并携带提示信息
    public  static Result fail(String msg){
        return new Result(0,msg,null);
    }
}
